/*  Copyright #[RELEASE_DATE]# Francesco Gaudenzi francesco.gaudenzi@gaudo.net

    This file is part of "Rage of Heroes".

    "Rage of Heroes" is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    "Rage of Heroes" is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with "Rage of Heroes".  If not, see <http://www.gnu.org/licenses/>.
*/

#include "Character.h"

namespace ROH = RageOfHeroes;

ROH::Character::Character(std::map<Stat, float> statsMap)
: statsMap_(statsMap)
{}

ROH::Character::~Character()
{}

float
ROH::Character::getBaseMovementSpeed() const
{
  return statsMap_.find(ROH::Stat::MovementSpeed)->second;
}

float
ROH::Character::getBaseAttackSpeed() const
{
  return statsMap_.find(ROH::Stat::AttackSpeed)->second;
}

float
ROH::Character::getBaseDamage() const
{
  return statsMap_.find(ROH::Stat::Damage)->second;
}

float
ROH::Character::getBaseEvasionChance() const
{
  return statsMap_.find(ROH::Stat::EvasionChance)->second;
}

float
ROH::Character::getBaseCriticalChance() const
{
  return statsMap_.find(ROH::Stat::CriticalChance)->second;
}

float
ROH::Character::getBaseArmor() const
{
  return statsMap_.find(ROH::Stat::Armor)->second;
}

float
ROH::Character::getBaseMaxHealth() const
{
  return statsMap_.find(ROH::Stat::MaxHealth)->second;
}

float
ROH::Character::getBaseMaxEnergy() const
{
  return statsMap_.find(ROH::Stat::MaxEnergy)->second;
}

float
ROH::Character::getBaseHealthRegeneration() const
{
  return statsMap_.find(ROH::Stat::HealthRegeneration)->second;
}

float
ROH::Character::getBaseEnergyRegeneration() const
{
  return statsMap_.find(ROH::Stat::EnergyRegeneration)->second;
}

